Altri articoli sul numero 69 Articoli sullo stesso argomento Gli errori sul bus SCSI si manifestano in tre modi: 1) Durante un accesso la spia di attivita' di hard disk o controller resta accesa: l'Amiga si blocca fino al reset o finche' non si spegne e riaccende una periferica SCSI. Questo malfunzionamento e' dovuto alla perdita di un impulso di acknowledge o alla sua errata duplicazione. Uno dei due agenti (l'hard disk o il controller) e' in attesa di un segnale di handshake che non arrivera' mai, perche' la controparte lo ha gia' inviato. Molti chip SCSI gestiscono l'handshake in modo automatico, quindi l'unico modo per sbloccarli consiste nel resettarli portando bassa la linea /RST del bus SCSI (e' quello che accade spegnendo una periferica). Cio' comporta la perdita di tutta l'attivita' sul bus accodata nei buffer e una possibile incoerenza tra lo stato del registro di controllo del chip e la scsi.device. A volte questo e' un rimedio peggiore del male che cura, e comunque non va MAI fatto se si stava eseguendo un'operazione di scrittura o era attivo il modo sincrono. Questo significa che se si spegne per errore una periferica SCSI esterna, non si puo' riaccendere confidando che tutto riparta senza problemi: meglio resettare. 2) Tutto procede regolarmente, ma di tanto in tanto viene segnalato un errore di lettura/scrittura (o uno SCSI Phase Error) che sparisce premendo "retry" o "cancel". Spesso (ed e' il caso piu' infido) la corruzione dei dati e' silente, senza messaggi di errore, e viene rivelata da errori segnalati durante durante la verifica dei backup o l'espansione di archivi compressi. I messaggi segnalati non provengono dal meccanismo di controllo dei dati SCSI e SCSI2: i controller Amiga di solito non usano il controllo di parita' (in particolare, non i Commodore), cioe' la scsi.device ignora ogni errore di questo tipo riportato dall'hardware. Se si trattasse di un difetto del disco, prima del messaggio si potrebbero ascoltare i rumori meccanici dovuti ai prolungati sforzi dell'hard disk SCSI che cerca di recuperare i dati. Invece questo comportamento puo' dipendere da due tipi di problemi. Il piu' comune e' un errore di comunicazione tra il chip SCSI e il controller DMA, o tra quest'ultimo e il bus di Amiga. La prima causa e' frequente sugli A590 e A2091 che montano il chip DMAC di revisione -01. L'errore di comunicazione con il bus invece e' tipico dei sistemi accelerati con una scheda che non supporta il DMA in Fast RAM (es: VXL30, Bang). In questo caso, a volte la situazione migliora cambiando in modo adeguato il parametro Mask di HDtoolbox (argomento affrontato su Amiga Magazine 53) oppure cambiando a basso livello i parametri SCSI dell'hard disk (non esiste un programma per farlo intuitivamente), in modo che si sconnetta dal bus appena il suo buffer comincia a riempirsi: accessi molto lunghi che monopolizzerebbero il bus vengono spezzati in un insieme di piccole transazioni, meno efficenti ma tollerate dall'hardware difettoso. Il comportamento puo' anche essere dovuto ad una violazione di protocollo recuperata dal chip SCSI, e si cura come nei casi 1 e 3. 3) Appena si accede ad una periferica, si ottiene sistematicamente il blocco dell'Amiga; oppure una periferica non viene vista del tutto. E' una tipica violazione di procollo, dovuta ad un bug della scsi.device, del chip SCSI, o ad un errata impostazione del controller. Spesso si cura spostando i jumper del controller o della periferica, o cambiando il valore dei bit della memoria non volatile di A3000.